/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package trabalhoconclusaocurso;

/**
 *
 * @author matheus
 */
public class Main {

    /**
     * @param args the command line arguments
     */
  public static void main(String[] args) {
        // TODO code application logic here
        


           //criando variaveis
           int numero_cidades = 5;
           double[][] matriz_pesoCidades;
           double[][] matriz_Feromonio;
           double[][] valorHeuristic;
           double[][] matriz_Info;

           
           MatrizPesosCidades matrizPesosCidades = new MatrizPesosCidades(numero_cidades);
           MatrizFeromonio matrizdeFeromonio = new MatrizFeromonio(numero_cidades);
           MatrizValorHeuristico valorHeuristico = new MatrizValorHeuristico(numero_cidades);//nesse momento de criar o construtor nao podia passar as matrizes vazias
           MatrizInfo inf = new MatrizInfo(numero_cidades);
           ColoniaFormigas coloniaformigas = new ColoniaFormigas(numero_cidades);
           Saida vizualizacao = new Saida();


    try{
           //inicialização das matrizes
           matrizPesosCidades.matrizPesosCidades();
           matriz_pesoCidades = matrizPesosCidades.getMatrizCidade();
           //System.out.println("peso cidade");
           //vizualizacao.imprimavetor(numero_cidades, matriz_pesoCidades);

           matrizdeFeromonio.matrizFeromonio();
           matriz_Feromonio = matrizdeFeromonio.getMatrizFeromonio();
           //System.out.println("feromonio");
           //vizualizacao.imprimavetor(numero_cidades, matriz_Feromonio) ;

           valorHeuristico.calculoValorheuristico(matriz_pesoCidades);
           valorHeuristic = valorHeuristico.getValorHeuristico();
           //System.out.println("valor heuristico");
           //vizualizacao.imprimavetor(numero_cidades, valorHeuristic);//verificar os valores de retorno

           inf.matrizInfo(matriz_Feromonio, valorHeuristic);
           matriz_Info = inf.getMatrizInfo();
           //System.out.println("info");
           //vizualizacao.imprimavetor(numero_cidades, matriz_Info);
 

           //inicialização do programa
           coloniaformigas.ColoniaFormigas(matriz_pesoCidades, matriz_Info, matriz_Feromonio, valorHeuristic);//passa a matriz de cidades
           
        }catch(Exception e){
            System.out.println("erro main");
        }
  }
  
   
}
